package com.example.gateway.designPattern.chainOfResponsibility;

/**
 * @ClassName: Client
 * @Description:
 * @Author: YourName
 * @Date: 2025/1/6
 */

public class Client {

    public static AbsLogger getAbslogger(){
        ErrorLogger errorLogger = new ErrorLogger(AbsLogger.ERROR);
        FileLogger fileLogger = new FileLogger(AbsLogger.DEBUG);
        ConsoleLogger consoleLogger = new ConsoleLogger(AbsLogger.INFO);
        errorLogger.setNextLogger(fileLogger);
        fileLogger.setNextLogger(consoleLogger);
        return errorLogger;

    }

    public static void main(String[] args) {
        /*
        *   责任链模式：
        *      责任链模式通过将多个处理器（处理对象）以链式结构连接起来，使得请求沿着这条链传递，直到有一个处理器处理该请求为止。
               责任链模式允许多个对象都有机会处理请求，从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链，并沿着这条链传递请求，直到有一个对象处理它为止。
        *
        *
        *
        *
        */


        AbsLogger abslogger = getAbslogger();
        abslogger.logMessage(AbsLogger.ERROR,"herong");
        System.out.println("===============================");

        abslogger.logMessage(AbsLogger.INFO,"herong");
        System.out.println("===============================");

        abslogger.logMessage(AbsLogger.DEBUG,"herong");

    }


}
